home *** CD-ROM | disk | FTP | other *** search
/ Trusted Irix /B 4.0.4 / Trusted-Irix B-4.0.1.iso / dist / eoe1.idb / usr / include / sys / splock.h.z / splock.h
C/C++ Source or Header  |  1992-04-03  |  2KB  |  47 lines

  1. #ifndef __SYS_SPLOCK_H__
  2. #define __SYS_SPLOCK_H__
  3.  
  4. /**************************************************************************
  5.  *                                      *
  6.  *          Copyright (C) 1990, Silicon Graphics, Inc.          *
  7.  *                                      *
  8.  *  These coded instructions, statements, and computer programs  contain  *
  9.  *  unpublished  proprietary  information of Silicon Graphics, Inc., and  *
  10.  *  are protected by Federal copyright law.  They  may  not be disclosed  *
  11.  *  to  third  parties  or copied or duplicated in any form, in whole or  *
  12.  *  in part, without the prior written consent of Silicon Graphics, Inc.  *
  13.  *                                      *
  14.  **************************************************************************/
  15.  
  16. #ident "$Revision: 3.10 $"
  17.  
  18. #define    SPLOCKNAMSIZ    8
  19.  
  20. struct k_splockmeter {
  21.     char    m_name[SPLOCKNAMSIZ];    /* text name for lock */
  22.     short    m_inuse;        /* has been allocated */
  23.     short    m_owner;        /* owner of lock */
  24.     lock_t    m_addr;            /* lock address */
  25.     ulong     m_wait;            /* count of times locker had to wait */
  26.     ulong     m_lcnt;            /* count of 'lock' operations */
  27.     ulong     m_ucnt;            /* count of 'unlock' operations */
  28.     uint    m_callpc;        /* return pc of last lock */
  29. };
  30.  
  31. extern struct k_splockmeter k_splockmeter[];
  32.  
  33. extern int nsplock;            /* number of kernel spin locks */
  34. extern int splocktype;            /* spin lock implementation */
  35. extern int splockmeter;            /* if non-zero, do spin lock metering */
  36.  
  37. #define    SPLOCK_NONE    0        /* no spinlocks (SIMPLEX kernel) */
  38. #define    SPLOCK_SOFT    1        /* software spinlocks */
  39. #define    SPLOCK_HARD    2        /* hardware locks */
  40.  
  41. #define    OWNER_NONE    -1
  42.  
  43. #define    MAP_LOCKID    0        /* spinlock map index */
  44. #define    SPLOCK_MAX    32768        /* number of available spinlocks */
  45.  
  46. #endif /* !__SYS_SPLOCK_H__ */
  47.